﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace FrogEngine
{
	public interface IGraphVertex<K, V>
	{
		K Key { get; }
		V Value { get; }
		ISet<IGraphVertex<K, V>> AdjacentVertices { get; }
		IList<IGraphEdge<K, V>> AdjacentEdges { get; }
		bool Visited { get; set; }

		IGraphEdge<K, V> GetSharedEdge(IGraphVertex<K, V> otherVertex);
		IGraphVertex<K, V> Predecessor { get; set; }
		double PathCost { get; set; }
	}
}
